{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from sklearn.datasets import load_breast_cancer\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.model_selection import GridSearchCV, cross_val_score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 随即森林调参实战"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': array([[1.799e+01, 1.038e+01, 1.228e+02, ..., 2.654e-01, 4.601e-01,\n",
       "         1.189e-01],\n",
       "        [2.057e+01, 1.777e+01, 1.329e+02, ..., 1.860e-01, 2.750e-01,\n",
       "         8.902e-02],\n",
       "        [1.969e+01, 2.125e+01, 1.300e+02, ..., 2.430e-01, 3.613e-01,\n",
       "         8.758e-02],\n",
       "        ...,\n",
       "        [1.660e+01, 2.808e+01, 1.083e+02, ..., 1.418e-01, 2.218e-01,\n",
       "         7.820e-02],\n",
       "        [2.060e+01, 2.933e+01, 1.401e+02, ..., 2.650e-01, 4.087e-01,\n",
       "         1.240e-01],\n",
       "        [7.760e+00, 2.454e+01, 4.792e+01, ..., 0.000e+00, 2.871e-01,\n",
       "         7.039e-02]]),\n",
       " 'target': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
       "        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n",
       "        0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,\n",
       "        1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,\n",
       "        1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,\n",
       "        1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,\n",
       "        0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,\n",
       "        1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,\n",
       "        1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,\n",
       "        0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,\n",
       "        1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,\n",
       "        1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "        0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,\n",
       "        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,\n",
       "        1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,\n",
       "        0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,\n",
       "        0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,\n",
       "        1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,\n",
       "        1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n",
       "        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,\n",
       "        1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,\n",
       "        1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,\n",
       "        1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,\n",
       "        1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,\n",
       "        1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1]),\n",
       " 'frame': None,\n",
       " 'target_names': array(['malignant', 'benign'], dtype='<U9'),\n",
       " 'DESCR': '.. _breast_cancer_dataset:\\n\\nBreast cancer wisconsin (diagnostic) dataset\\n--------------------------------------------\\n\\n**Data Set Characteristics:**\\n\\n    :Number of Instances: 569\\n\\n    :Number of Attributes: 30 numeric, predictive attributes and the class\\n\\n    :Attribute Information:\\n        - radius (mean of distances from center to points on the perimeter)\\n        - texture (standard deviation of gray-scale values)\\n        - perimeter\\n        - area\\n        - smoothness (local variation in radius lengths)\\n        - compactness (perimeter^2 / area - 1.0)\\n        - concavity (severity of concave portions of the contour)\\n        - concave points (number of concave portions of the contour)\\n        - symmetry\\n        - fractal dimension (\"coastline approximation\" - 1)\\n\\n        The mean, standard error, and \"worst\" or largest (mean of the three\\n        worst/largest values) of these features were computed for each image,\\n        resulting in 30 features.  For instance, field 0 is Mean Radius, field\\n        10 is Radius SE, field 20 is Worst Radius.\\n\\n        - class:\\n                - WDBC-Malignant\\n                - WDBC-Benign\\n\\n    :Summary Statistics:\\n\\n    ===================================== ====== ======\\n                                           Min    Max\\n    ===================================== ====== ======\\n    radius (mean):                        6.981  28.11\\n    texture (mean):                       9.71   39.28\\n    perimeter (mean):                     43.79  188.5\\n    area (mean):                          143.5  2501.0\\n    smoothness (mean):                    0.053  0.163\\n    compactness (mean):                   0.019  0.345\\n    concavity (mean):                     0.0    0.427\\n    concave points (mean):                0.0    0.201\\n    symmetry (mean):                      0.106  0.304\\n    fractal dimension (mean):             0.05   0.097\\n    radius (standard error):              0.112  2.873\\n    texture (standard error):             0.36   4.885\\n    perimeter (standard error):           0.757  21.98\\n    area (standard error):                6.802  542.2\\n    smoothness (standard error):          0.002  0.031\\n    compactness (standard error):         0.002  0.135\\n    concavity (standard error):           0.0    0.396\\n    concave points (standard error):      0.0    0.053\\n    symmetry (standard error):            0.008  0.079\\n    fractal dimension (standard error):   0.001  0.03\\n    radius (worst):                       7.93   36.04\\n    texture (worst):                      12.02  49.54\\n    perimeter (worst):                    50.41  251.2\\n    area (worst):                         185.2  4254.0\\n    smoothness (worst):                   0.071  0.223\\n    compactness (worst):                  0.027  1.058\\n    concavity (worst):                    0.0    1.252\\n    concave points (worst):               0.0    0.291\\n    symmetry (worst):                     0.156  0.664\\n    fractal dimension (worst):            0.055  0.208\\n    ===================================== ====== ======\\n\\n    :Missing Attribute Values: None\\n\\n    :Class Distribution: 212 - Malignant, 357 - Benign\\n\\n    :Creator:  Dr. William H. Wolberg, W. Nick Street, Olvi L. Mangasarian\\n\\n    :Donor: Nick Street\\n\\n    :Date: November, 1995\\n\\nThis is a copy of UCI ML Breast Cancer Wisconsin (Diagnostic) datasets.\\nhttps://goo.gl/U2Uwz2\\n\\nFeatures are computed from a digitized image of a fine needle\\naspirate (FNA) of a breast mass.  They describe\\ncharacteristics of the cell nuclei present in the image.\\n\\nSeparating plane described above was obtained using\\nMultisurface Method-Tree (MSM-T) [K. P. Bennett, \"Decision Tree\\nConstruction Via Linear Programming.\" Proceedings of the 4th\\nMidwest Artificial Intelligence and Cognitive Science Society,\\npp. 97-101, 1992], a classification method which uses linear\\nprogramming to construct a decision tree.  Relevant features\\nwere selected using an exhaustive search in the space of 1-4\\nfeatures and 1-3 separating planes.\\n\\nThe actual linear program used to obtain the separating plane\\nin the 3-dimensional space is that described in:\\n[K. P. Bennett and O. L. Mangasarian: \"Robust Linear\\nProgramming Discrimination of Two Linearly Inseparable Sets\",\\nOptimization Methods and Software 1, 1992, 23-34].\\n\\nThis database is also available through the UW CS ftp server:\\n\\nftp ftp.cs.wisc.edu\\ncd math-prog/cpo-dataset/machine-learn/WDBC/\\n\\n.. topic:: References\\n\\n   - W.N. Street, W.H. Wolberg and O.L. Mangasarian. Nuclear feature extraction \\n     for breast tumor diagnosis. IS&T/SPIE 1993 International Symposium on \\n     Electronic Imaging: Science and Technology, volume 1905, pages 861-870,\\n     San Jose, CA, 1993.\\n   - O.L. Mangasarian, W.N. Street and W.H. Wolberg. Breast cancer diagnosis and \\n     prognosis via linear programming. Operations Research, 43(4), pages 570-577, \\n     July-August 1995.\\n   - W.H. Wolberg, W.N. Street, and O.L. Mangasarian. Machine learning techniques\\n     to diagnose breast cancer from fine-needle aspirates. Cancer Letters 77 (1994) \\n     163-171.',\n",
       " 'feature_names': array(['mean radius', 'mean texture', 'mean perimeter', 'mean area',\n",
       "        'mean smoothness', 'mean compactness', 'mean concavity',\n",
       "        'mean concave points', 'mean symmetry', 'mean fractal dimension',\n",
       "        'radius error', 'texture error', 'perimeter error', 'area error',\n",
       "        'smoothness error', 'compactness error', 'concavity error',\n",
       "        'concave points error', 'symmetry error',\n",
       "        'fractal dimension error', 'worst radius', 'worst texture',\n",
       "        'worst perimeter', 'worst area', 'worst smoothness',\n",
       "        'worst compactness', 'worst concavity', 'worst concave points',\n",
       "        'worst symmetry', 'worst fractal dimension'], dtype='<U23'),\n",
       " 'filename': '/home/neu/anaconda3/envs/keras-env/lib/python3.6/site-packages/sklearn/datasets/data/breast_cancer.csv'}"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = load_breast_cancer()\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(569, 30)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0,\n",
       "       1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0,\n",
       "       1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0,\n",
       "       0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1,\n",
       "       1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0,\n",
       "       0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0,\n",
       "       1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1,\n",
       "       1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0,\n",
       "       0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0,\n",
       "       0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0,\n",
       "       1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,\n",
       "       1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1,\n",
       "       1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,\n",
       "       1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1,\n",
       "       1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1,\n",
       "       1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9648809523809524"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfc = RandomForestClassifier(n_estimators=100, random_state=90)\n",
    "score_pre = cross_val_score(rfc, data.data, data.target, cv=10).mean()\n",
    "score_pre"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "探索n_estimators的最好区间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "scorel = []\n",
    "for i in range(0,200,10):\n",
    "    rfc = RandomForestClassifier(n_estimators=i+1,\n",
    "                                n_jobs=-1,\n",
    "                                random_state=90)\n",
    "    score = cross_val_score(rfc, data.data, data.target, cv=10).mean()\n",
    "    scorel.append(score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9666353383458647 81\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(max(scorel), (scorel.index(max(scorel))*10)+1)\n",
    "plt.figure(figsize=[20,5])\n",
    "plt.plot(range(1,201,10),scorel)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "更细化的探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9666353383458647 73\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "scorel = []\n",
    "for i in range(65,95):\n",
    "    rfc = RandomForestClassifier(n_estimators=i,\n",
    "                                n_jobs=-1,\n",
    "                                random_state=90)\n",
    "    score = cross_val_score(rfc, data.data, data.target, cv=10).mean()\n",
    "    scorel.append(score)\n",
    "print(max(scorel), ([*range(65,95)][scorel.index(max(scorel))]))\n",
    "plt.figure(figsize=[20,5])\n",
    "plt.plot(range(65,95),scorel)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 网格搜索进行调参"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 首先调整max_depth"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=10,\n",
       "             estimator=RandomForestClassifier(n_estimators=73, random_state=90),\n",
       "             param_grid={'max_depth': array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,\n",
       "       18, 19])})"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "param_grid = {'max_depth':np.arange(1,20,1)}\n",
    "\n",
    "rfc = RandomForestClassifier(n_estimators=73,\n",
    "                            random_state=90)\n",
    "GS = GridSearchCV(rfc, param_grid, cv=10)\n",
    "GS.fit(data.data, data.target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'max_depth': 8}"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "GS.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9666353383458647"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "GS.best_score_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调整maxdepth，模型没有上升的空间，基本上已经保持在泛化误差的最低点或者稍微偏左，现在将泛化误差向右推看模型效果是否会更好。\n",
    "\n",
    "## 调整max_features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=10,\n",
       "             estimator=RandomForestClassifier(max_depth=8, n_estimators=73,\n",
       "                                              random_state=90),\n",
       "             param_grid={'max_features': array([ 5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,\n",
       "       22, 23, 24, 25, 26, 27, 28, 29])})"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "param_grid = {'max_features':np.arange(5,30,1)}\n",
    "\n",
    "rfc = RandomForestClassifier(n_estimators=73,\n",
    "                             max_depth=8,\n",
    "                            random_state=90)\n",
    "GS = GridSearchCV(rfc, param_grid, cv=10)\n",
    "GS.fit(data.data, data.target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'max_features': 22}"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "GS.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.968421052631579"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "GS.best_score_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "模型效果又有一个提升，现在模型已经基本在最低点了。\n",
    "\n",
    "最终的参数结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.968421052631579"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rfc = RandomForestClassifier(n_estimators=73,\n",
    "                            max_depth=8,\n",
    "                            max_features=22,\n",
    "                            random_state=90)\n",
    "score = cross_val_score(rfc, data.data, data.target, cv=10).mean()\n",
    "score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# AdaBoostClassifier调参"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import AdaBoostClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.963095238095238"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "abc = AdaBoostClassifier(n_estimators=50, random_state=90)\n",
    "score_pre = cross_val_score(abc, data.data, data.target, cv=10).mean()\n",
    "score_pre"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "scorel = []\n",
    "for i in range(0,200,10):\n",
    "    rfc = AdaBoostClassifier(n_estimators=i+1,\n",
    "                                random_state=90)\n",
    "    score = cross_val_score(rfc, data.data, data.target, cv=10).mean()\n",
    "    scorel.append(score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9736215538847117 181\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(max(scorel), (scorel.index(max(scorel))*10)+1)\n",
    "plt.figure(figsize=[20,5])\n",
    "plt.plot(range(1,201,10),scorel)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.9753759398496239 175\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "scorel = []\n",
    "for i in range(171,191):\n",
    "    rfc = AdaBoostClassifier(n_estimators=i,\n",
    "                                random_state=90)\n",
    "    score = cross_val_score(rfc, data.data, data.target, cv=10).mean()\n",
    "    scorel.append(score)\n",
    "print(max(scorel), ([*range(171,191)][scorel.index(max(scorel))]))\n",
    "plt.figure(figsize=[20,5])\n",
    "plt.plot(range(171,191),scorel)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9736528822055138"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier\n",
    "\n",
    "dc = DecisionTreeClassifier(max_depth=2)\n",
    "abc = AdaBoostClassifier(n_estimators=175,\n",
    "                        base_estimator=dc,\n",
    "                        random_state=90)\n",
    "score = cross_val_score(abc, data.data, data.target, cv=10).mean()\n",
    "score"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "max_depth设置为2可以看见模型效果反倒下降一些"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=10, estimator=AdaBoostClassifier(random_state=90),\n",
       "             param_grid={'learning_rate': array([1, 2, 3, 4, 5, 6, 7, 8, 9]),\n",
       "                         'n_estimators': array([171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,\n",
       "       184, 185, 186, 187, 188, 189, 190])})"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "param_grid = {'learning_rate':np.arange(1,10,1),\n",
    "              'n_estimators':np.arange(171,191)\n",
    "             }\n",
    "\n",
    "rfc = AdaBoostClassifier(random_state=90)\n",
    "GS = GridSearchCV(rfc, param_grid, cv=10)\n",
    "GS.fit(data.data, data.target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'learning_rate': 1, 'n_estimators': 175}"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "GS.best_params_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9753759398496239"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "GS.best_score_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
